package com.tanhua.server.jop;

import com.tanhua.domain.db.User;
import com.tanhua.dubbo.api.UserApi;
import com.tanhua.server.interceptor.UserHolder;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
@Slf4j
public class deleteRedisKey {

    @Reference
    private UserApi userApi;

    /**
     * 定时执行的方法：
     * 1、每5秒执行一次
     * 2、任务调度表达式
     *    秒  分钟  小时   日   月   周(?)   年
     *    举例：  0/5  每5秒
     *    举例：  1-5  第2-6秒
     *    举例：  1,2  第2,3秒
     */
    @Autowired
    private RedisTemplate<String,String> redisTemplate;

    @Scheduled(cron = "0 0 0 1/1 * ? ")
   //@Scheduled(cron = "0 0/1 * * * ?")
    public void deleteRedisKey(){
        log.info("准备执行删除开始：--------->");
        List<User> userLIst = userApi.findUser();
       for (User user : userLIst) {
           if (user.getType() == 1) {

               String key = "TANHUA_COUNT_" + user.getId();

               redisTemplate.delete(key);
           }
       }
        log.info("执行删除结束：--------->");
    }
}
